草庐IT

php - 匿名类构造

全部标签

c# - 为什么在匿名方法中不允许使用 out 参数?

这不是Callingamethodwithreforoutparametersfromananonymousmethod的骗局我想知道为什么out参数在匿名方法中是不允许的。不允许ref参数对我来说更有意义,但是out参数,就没那么多了。你对此有何看法 最佳答案 在某些方面,这是一个骗局。Out参数是ref参数。C#语言使用的值只是一个额外的属性。不允许它们的原因与ref参数完全相同。这里的问题源于在匿名方法中使用在匿名方法之外声明的值的效果。这样做会捕获lambda中的值,并且出于必要而任意延长其生命周期,使其超出当前函数的生命周

c# - 为什么在构造函数中实例化新对象之前检查类变量是否为空?

与我之前合作过的一个团队,每当创建一个新的服务类来处理数据层和表示层之间的业务逻辑时,都会执行如下操作:classDocumentService{publicDocumentRepositoryDocumentRepository{get;set;}publicDocumentService(){if(DocumentRepository==null)DocumentRepository=newDocumentRepository();}}我一直不太明白为什么要对null进行检查。如果正在调用构造函数,则意味着它必须为null..因为它是一个新实例,对吗?为什么要这样做?在我看来,这是

c# - 在 C# 构造函数 header 中使用冒号

下面是一个名为Complex的struct的构造函数,它有两个成员变量,Real和Imaginary:publicComplex(doublereal,doubleimaginary):this(){Real=real;Imaginary=imaginary;}函数头中冒号后面的部分有什么用? 最佳答案 您始终可以从一个构造函数中调用另一个构造函数。比如说:publicclassmySampleClass{publicmySampleClass():this(10){//Thisisthenoparameterconstructor

c# - 如何使用反射调用静态构造函数?

如何获取静态构造函数的ConstructorInfo?publicclassMyClass{publicstaticintSomeValue;staticMyClass(){SomeValue=23;}}我尝试了以下但失败了......TypemyClass=typeof(MyClass);//throwsexceptionmyClass.TypeInitializer.Invoke(null);//returnsnull(alsotrieddeletingBindingFlags.PublicConstructorInfoci=myClass.GetConstructor(Bindi

c# - 带有 dontEscape 的 Uri 构造函数已过时,替代方案是什么?

我的问题是关于在不转义的情况下将URL传递给HttpWebRequest,我搜索了论坛和互联网,但没有找到好的解决方案。我有以下URL:stringURL=www.website.com/sub/redirec\t\bs\dd所以当我像这样创建一个uri时:Uriuri=newUri(URL);HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(uri);在这种情况下,使用get方法我将获得以下URL:www.website.com/sub/redirect%5Ct%5Cbc%5Cdd这个符号“\”将被“%5C”取代。对我来说

c# - 保护匿名 Web API 请求的方法

我有一个ASP.NETMVC(不是ASP.NETCore)单页应用程序,前端带有angularjs。我的客户端(浏览器)通过ASP.NETWebAPI与服务器对话。现在,Web应用程序位于https但匿名。没有登录/用户身份验证。Web应用程序采用向导形式,用户可以在其中来回切换并添加或更新网页上的输入字段。然后通过WebAPI在服务器上更新表单输入值。我正在寻找一种方法来单独保护我的WebAPI调用,尤其是POST/PUT请求。总之,我想阻止任何用户直接从POSTMAN或Fiddler调用我的WebAPI。WebAPI,尽管是匿名的,但只能从发起请求的浏览器session中调用。我有

c# - 为什么我不能在构造函数中分配给 lambda 语法只读属性?

我的情况:publicclassA{publicstring_prop{get;}publicA(stringprop){_prop=prop;//allowed}}另一种情况:publicclassA{publicstring_prop=>string.Empty;publicA(stringprop){//Propertyorindexer'A._prop'cannotbeassignedto--itisreadonly_prop=prop;}}两种语法:publicstring_prop{get;}和publicstring_prop=>string.Empty;创建一个只读属性

c# - Autofac 没有找到带有 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' 的构造函数

Noneoftheconstructorsfoundwith'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'ontype'LMS.Services.Security.EncryptionService'canbeinvokedwiththeavailableservicesandparameters:Cannotresolveparameter'LMS.Models.SecuritySettingssecuritySettings'ofconstructor'Void.ctor(LMS.Models.Securi

c# - xunit 构造函数在每次测试之前运行

在测试类中,构造函数在每个测试之前启动,构造函数提供的初始化数据无法被后续测试访问。我希望所有测试都可以访问初始化数据。(只创建一次)[Category("Basics")][Collection("DD")][ExcludeFromCodeCoverage]publicclassSecurityTests:TestUnitBase{StartUpFixturefixture;publicAuthenticationTests(StartUpFixturefixture):base(){this.fixture=fixture;}[Fact(DisplayName="Successfu

c# - C# lambda 编译成什么?堆栈框架,匿名类型的实例,还是?

C#lambda编译成什么?堆栈框架、匿名类型的实例,还是?我读过这个question.这主要回答了“为什么”在使用隐式类型功能时不能使用lambda。但是,这个问题旨在回答编译器生成什么结构来实际执行lambda代码。它是匿名类型的方法调用(类似于在Java中实现接口(interface)的匿名类型?)还是它只是一个引用封闭变量并接受参数签名的堆栈框架?一些lambda不会关闭任何东西——因此会有2个不同的编译结果输出。 最佳答案 假设你的意思是“作为一个委托(delegate)”,那么它仍然取决于:p如果它捕获任何变量(包括“t